The present invention relates to computer network interfacing and switching, and more particularly, to an apparatus and method for efficiently storing and forwarding data frames within a xe2x80x9cdaisy chainxe2x80x9d configuration of multiple multiport network switches.
A multiport network switch in a packet switching network is coupled to stations on the network through its multiple ports. Data sent by one station on the network to one or more other stations on the network are sent through the network switch. The data is provided to the network switch over a shared access medium according to, for example, an Ethernet protocol (IEEE Std. 802.3). The network switch, which receives a data frame at one of its multiple ports, determines a destination network station for the data frame from information contained in the data frame header. Subsequently, the network switch transmits the data from the port or ports connected to the destination network station or stations.
A single Ethernet network switch may have a number of 10/100 Mb/s ports, equaling, for example, 12 ports. The number of end stations connected to the single network switch is limited by the number of ports (i.e., port density) of the network switch. However, users of networking devices demand flexibility and scalability in their networks. To address this need, modular architectures have been developed that enable cascading of identical networking devices or network switch modules. By cascading these devices (or components) in a loop, port density can be readily increased without redesign or development of costly interfaces.
Unfortunately, as the number of cascaded switches increases, so does the system latency (i.e., the aggregate processing delay of the switches). System latency is attributable, in part, to the manner in which the switches store and retrieve the data frames in memory. One traditional memory architecture employs individual, local memories for each cascaded switch, as shown in FIG. 1. In this example, three multiport switches 12a 12b, 12c, are cascaded together to permit the exchange of data frames received by any one of the switches and subsequent forwarding of the data frames out of a different multiport switch. Each of these switches 12a 12b, and 12c has a memory interface, 44a, 44b, and 44c, respectively. These memory interfaces 44a, 44b, and 44c enable switches 12a 12b, and 12c to access their respective memories 601a, 601b, and 601c to write and read the data frames.
For explanation purposes, it is assumed that a data frame is received at a port (i.e., receive port) on switch 12a and that the data frame destination is a node attached to a port on a different switch 12c. Switch 12a first stores the received data frame in memory 601a, and then determines whether to forward the received data frame out of its own port or send it to the next switch in sequence. Because the data frame is not destined to any port of switch 12a, the data frame is retrieved from memory 601a and sent to the next switch 12b via the cascade port (i.e., the port to which the neighboring switches are connected) of switch 12a. Upon receiving the data frame, switch 12b stores the data frame in memory 601b. Switch 12b then examines the data frame and determines that it should be forwarded to switch 12c. Accordingly, switch 12b forwards the data frame to switch 12c by reading the stored received data frame from memory 601b and sending the data frame out its cascade port. When the data frame arrives at switch 12c. switch 12c writes the data frame into its memory 601c, in similar fashion as the other switches 12a and 12b. At this point, however, switch 12c determines that the data frame should be forwarded out one of its ports, which is connected to the destination node. Hence, switch 12c reads the stored data frame and forwards it out the appropriate port. As evident by this example, the data frame, as it is transferred from switch to switch is stored and read numerous times into the memories of the respective switches. The series of write and read operations disadvantageously imposes costly delay in the switching system.
To address this latency problem, one conventional approach is to employ a common memory among the various switches. FIG. 2 illustrates such a system in which switches 12a, 12b, and 12c share memory 701 via memory interfaces 44a, 44b, and 44c, respectively. Under this approach, the interfaces 44a, 44b, and 44c are required to have a wider data bus to maintain the speed of read and write accesses as compared to the individual memory arrangement of FIG. 8. For example, the bus width of the memory interfaces 44a, 44b, and 44c may need to increase to 128 bits. The main drawback with this common memory implementation is that the increase in memory bandwidth also results in a proportionate increase in the pin count. An increase in the number of pins disadvantageously requires more area on the circuit board, resulting in greater package cost.
There is a need for an arrangement to connect two or more multiport network switches together to increase port density, without increasing the memory bandwidth and a corresponding proportionate increase in pin count.
This and other needs are met by embodiments of the present invention which provides a multiport network switch arrangement having a plurality of multiport network switches each having a corresponding local buffer memory. The network switches in the arrangement are configured to segment each data frame received at an input port equal unitary segments so that data frames may be divided and stored equally among the local buffer memories, thus, in essence, creating a xe2x80x9cshared memoryxe2x80x9d arrangement.
One aspect of the present invention provides a network switch arrangement having a plurality of multiport network switches. Included in the arrangement is a plurality of local buffer memories, each of the plurality of local buffer memories being coupled with a corresponding multiport network switch. A unidirectional data bus ring is connected to each of the plurality of network switches such that the switches are connected to each other in a concatenated fashion by the data bus ring. In this arrangement, a received data frame is segmented into equal length segments by a particular multiport network switch receiving the data frame. The particular switch transmits at least one of the equal length segments to at least one other multiport network switch over the unidirectional data bus ring for storage in the local buffer memory of the at least one other multiport network switch.
Transmitting at least some of the data frame segments to other network switches allows the storage of data frame to be distributed equally over all the local buffer memories. Hence, the bandwidth required for each local buffer memory is minimized.
Another aspect of the invention provides a method for receiving and transmitting data frames in a network switch arrangement. The method includes receiving a data frame at a first switch of a plurality of switches. The data frame is segmented as it is being received into a plurality of equal unitary segments. A first segment of the plurality of equal unitary segments is held in the first switch of the plurality of switches during a first time slot. A second segment is transferred to a second switch of the plurality of switches via a unidirectional bus ring connecting the plurality of switches and the second segment is then held in the second switch during a second time slot. During a third time slot, the second segment is transferred to a third switch of the plurality of switches via the bus ring, a third segment is transferred to the second switch via the bus ring and held in the first switch during the third time slot. At the end of the third time slot, each of the first, second and third segments is then stored in a respective memory corresponding to each of the plurality of switches at an end of the third time slot.
The above method serves to distribute the segments of a data frame between the memories of the switches. Hence, the method affords lower bandwidth requirements for each the switch memories.
Additional advantages and novel features of the invention will be set forth in part in the description which follows and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The advantages of the present invention may be realized and attained by means of instrumentalities and combinations particularly pointed in the appended claims.